package bd;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;

// Pra calcular matricula posso criar uma stored procedure pra incrementar em cliente e funcionario

public class Conexao {
    private Statement st;
    private static Conexao OneConexao = new Conexao();
    
    private Conexao() {
        try {
            Class.forName("org.postgresql.Driver");
            //Connection con= DriverManager.getConnection("jdbc:postgresql://10.3.231.2:5432/lpctads141","desenv", "123456");
            Connection con= DriverManager.getConnection("jdbc:postgresql://localhost:5432/sideral","postgres", "123456");
            st=con.createStatement();
        } catch (ClassNotFoundException ex) {
            //Logger.getLogger(Conexao.class.getName()).log(Level.SEVERE, null, ex);
            JOptionPane.showMessageDialog(null,"Driver de conexão não foi encontrado!");
        } catch (SQLException ex) {
            Logger.getLogger(Conexao.class.getName()).log(Level.SEVERE, null, ex);
            JOptionPane.showMessageDialog(null,"Não foi possivel estabelecer conexão com o banco e dados!");
        }
    }
    
    public static Conexao getInstance(){
        return OneConexao;
    }
    
    public boolean executarDiu(String sql){
        try {
            return (st.executeUpdate(sql)>0);
        } catch (SQLException ex) {
            Logger.getLogger(Conexao.class.getName()).log(Level.SEVERE, null, ex);
            return false;
        }
    }
    
    public ResultSet selecionar(String sql){
        try {
            return st.executeQuery(sql);
        } catch (SQLException ex) {
            Logger.getLogger(Conexao.class.getName()).log(Level.SEVERE, null, ex);
            return null;
        }
    }
}